MPI vs OpenMP: A case study on parallel generation of Mandelbrot set

Keywords: MPI, OpenMP, parallel computing, Mandelbrot set, C

Abstract

Nowadays, some of the most popular tools for parallel programming are Message Passing Interface and Open Multi-Processing. It is of interest to compare these tools in solving the same kind of problems, because of the use of different approaches to inter-task communication. This work attempts to contribute to this goal by running trials in a centralized shared memory architecture in the case of problems with an entirely parallel solution. The selected case study was the parallel computation of Mandelbrot set. Trials were conducted for different iteration limits, processors amount, and C++ implementation variants. The results show better performance in the case of Open Multi-Processing.

Downloads

Download data is not yet available.

References

R. Trobec, B. Slivnik, P. Bulic, and B. Robic, “Programming Multi-core and Shared Memory Multiprocessors Using OpenMP,” in Introduction to Parallel Computing: From Algorithms to Programming on State-of-the-Art Platforms, ser. Undergraduate Topics in Computer Science, R. Trobec, B. Slivnik, P. Bulic, and B. Robic, Eds. Cham: Springer International Publishing, 2018, pp. 47–86.

M. J. Quinn, “Shared-Memory Programming,” in Parallel Programming in C with MPI and OpenMP. McGraw-Hill Education, 2003, pp. 404–435.

R. Trobec, B. Slivnik, P. Bulic, and B. Robic, “MPI Processes and Messaging,” in Introduction to Parallel Computing: From Algorithms to Programming on State-of-the-Art Platforms, ser. Undergraduate Topics in Computer Science, R. Trobec, B. Slivnik, P. Bulic, and B. Robic, Eds. Cham: Springer International Publishing, 2018, pp. 87–132.

M. J. Quinn, “Message-Passing Programming,” in Parallel Programming in C with MPI and OpenMP. McGraw-Hill Education, 2003, pp. 93–114.

P. Czarnul, “Generic Taxonomy of Parallel Computing Systems,” in Parallel Programming for Modern High Performance Computing Systems. Chapman & Hall/CRC, 2018, pp. 11–12.

M. McCool, J. Reinders, and A. Robison, “Mandelbrot,” in Structured Parallel Programming: Patterns for Efficient Computation. Morgan Kaufmann, Jun. 2012, pp. 131–143.

J. M. Stewart, “Two-Dimensional Graphics,” in Python for Scientists, 2nd ed. Cambridge University Press, 2017, pp. 82–108.

I. Stewart and A. C. Clarke, “The Nature of Fractal Geometry,” in The Colours of Infinity: The Beauty and Power of Fractals. Clear Press Ltd, 2004, pp. 2–23.

M. Tracolli, “Parallel generation of a Mandelbrot set,” VIRT&L-COMM, Apr. 2016. [Online]. Available: http://services.chm.unipg.it/ojs/index.php/virtlcomm/article/view/112

John Burkardt, “MANDEBRTOT - ASCII Portable Pixel Map (PPM) Image of the Mandelbrot Set,” Mar. 2020. [Online]. Available: https://people.sc.fsu.edu/~jburkardt/cpp_src/mandelbrot_openmp/mandelbrot_openmp.html

P. Czarnul, “Master-Slave,” in Parallel Programming for Modern High Performance Computing Systems. Chapman & Hall/CRC, 2018, pp. 35–39.

——, “Message Passing Interface (MPI),” in Parallel Programming for Modern High Performance Computing Systems. Chapman & Hall/CRC, 2018, pp. 74–102.

M. J. Quinn, “Floyd’s Algorithm,” in Parallel Programming in C with MPI and OpenMP. McGraw-Hill Education, 2003, pp. 137–158.

W. McKinney, “Plotting and Visualization,” in Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython, 2nd ed. O’Reilly Media, Inc., 2017, pp. 250–283.

P. Czarnul, “OpenMP,” in Parallel Programming for Modern High Performance Computing Systems. Chapman & Hall/CRC, 2018, pp. 102–118.

——, “HPC related metrics,” in Parallel Programming for Modern High Performance Computing Systems. Chapman & Hall/CRC, 2018, pp. 34–35.

R. Trobec, B. Slivnik, P. Bulic, and B. Robic, “History of Parallel Computing, Systems and Programming,” in Introduction to Parallel Computing: From Algorithms to Programming on State-of-the-Art Platforms, ser. Undergraduate Topics in Computer Science, R. Trobec, B. Slivnik, P. Bulic, and B. Robic, Eds. Cham: Springer International Publishing, 2018, pp. 9–11.

M. J. Quinn, “Speedup and efficiency,” in Parallel Programming in C with MPI and OpenMP. McGraw-Hill Education, 2003, pp. 159–161.

Received: 2020-09-22
Accepted: 2020-09-23
Published: 2020-09-30
How to Cite
[1]
E. Soto Gómez, “MPI vs OpenMP: A case study on parallel generation of Mandelbrot set”, Innov. softw., vol. 1, no. 2, pp. 12-26, Sep. 2020.
Section
Journal papers